package com.ywj.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * 创建Kafka消费者类，用于监听my-topic主题并接收消息
 */
@Service
public class KafkaConsumer {

    @Autowired
    private KafkaTemplate<String, String> kafkaTemplate;


    /**
     * 使用@KafkaListener注解声明一个消费者方法，用于接收从my-topic主题中读取的消息。
     * 在这里 我们将消费者组ID设置为 my-group-id
     * @param message
     */
    @KafkaListener(topics = "my-topic", groupId = "my-group-id")
    public void consume(String message){
        System.out.println("Received message: " + message);
    }

    public void sendMessage(@RequestBody String message){
        //发送消息到my-topic主题，send方法返回一个ListenableFuture对象 用于异步处理结果
        kafkaTemplate.send("my-topic", message);
    }
}
